package com.cy.pj.sys.controller;

import java.util.List;

import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.cy.pj.common.bo.SysUserMenu;
import com.cy.pj.sys.pojo.SysUser;
import com.cy.pj.sys.service.SysMenuService;

/**
 * 计划在这个controller中要处理所有页面请求
 * @author private
 *
 */
@Controller
// IP地址:端口号 log/log_list
/**
 * @author private
 *
 */
@RequestMapping("/")
public class PagesController {
	@Autowired
	private SysMenuService sysMenuService;
	
	@RequestMapping("doLoginUI")
	public String doLoginUI() {
		return "login";
	}
	
	/** 
	 * rest风格的软件架构编码风格,这种风格的url的定义允许试用{}作为变量的URL 
	 * 通用的返回模块页面 
	 */
	@RequestMapping("{module}/{moduleUI}")
	public String doModuleUI(@PathVariable String moduleUI) {
		return "sys/"+moduleUI;
	}
	
	/** 返回主页 */
	
	@RequestMapping("doIndexUI")
	public String doStartUI(Model model) {
		//获取登录的用户信息,在登录的Real中我们把User对象封装传入到了Principal对象中,所以这里可以直接取
		SysUser user = (SysUser)SecurityUtils.getSubject().getPrincipal();
		//获取登录用户对应的菜单信息,传给页面
		List<SysUserMenu> userMenu = sysMenuService.findUserMenusByUserId(user.getId());
		model.addAttribute("user", user);
		model.addAttribute("userMenu", userMenu);
		return "starter";
	}
	
	/** 返回分页页面元素 */
	@RequestMapping("doPageUI")
	public String doPageUI() {
		return "common/page";
	}
	
//	/** 返回菜单列表页面 */
//	@RequestMapping("menu/menu_list")
//	public String doMenuUI() {
//		return "sys/menu_list";
//	}
	
	/** 返回日志列表页面 */
//	@RequestMapping("log/log_list")
//	public String doLogUI() {
//		return "sys/log_list";
//	}
	
}
